package proxy.dynamicproxy;

import proxy.staticproxy.ITeacherDao;
import proxy.staticproxy.TeacherDao;

/**
 * @author DFD
 * @date 2023年11月20日
 */
public class Client {

	public static void main(String[] args) {
		// 创建目标对象
		ITeacherDao target = new TeacherDao();

		// 给目标对象，创建代理对象, 可以转成 ITeacherDao
		target = (ITeacherDao) new ProxyFactory(target).getProxyInstance();
		// proxyInstance=class com.sun.proxy.$Proxy0 内存中动态生成了代理对象
		System.out.println("proxyInstance=" + target.getClass());
		// 通过代理对象，调用目标对象的方法
		target.teach();
	}

}
